package com.zhangll.core.ddd;

/**
 * 比较重要的文献
 *
 */
public class DomainDemo {
    public static void main(String[] args) {
        // 对于领域模型，我的初始认知是
        // 领域模型是与技术和业务沟通的桥梁
        // 技术可以通过设计领域模型能够很好地应对业务的变化，而以底层的设计无关

        // 如何进行领域建模
        // 1. 初步建模（User story）
        // 2. 利用领域事件进行回溯风暴，再进行重构（利用Domain中的行为来扩展事件）
        // 3. 聚合根（根据生命周期与在业务上不可分割为依据），合并多个实体，进一步抽象
        // 在聚合根层才是各个领域之间进行关联，外部访问领域的唯一接口。

        // 3. 划分三大层 1. 应用层 2.领域层 3. 基础实施层
        // 把跟领域层相关的逻辑放在Domain中，而其他的业务逻辑与领域本身没有多大关系的放在应用层（参数解析，消息发送）

        //  Bounded Context (BC)，统一领域在不同上下文中表示不同的内容。比如apple。。在手机店/水果店代表不同的内容。

        // 上下文映射。Context Mapping， 跨多个BC通信（同步与异步，或者以event）
        //
    }
}
